Ядро & Оборудование

Nvidia Optimus/Гибридная графика - какие пакеты всё-таки использовать?

Сейчас, на 2021, у нас имеются Nvidia PRIME, Optimus manager, бедный nouveau, bumblebee, неизвестный мне primus и, наверное, много другого. Но в конце концов что конкретно ставить на ноут, какие есть плюсы и минусы у этих технологий?
Учебники (How-To & F.A.Q)

Nvidia Prime Render Offload. Замена Bumblebee.

Гайд устарел и его следует использовать если вам просто нечем заняться. В другом случае используйте графический установщик Манджаро. В нём теперь есть драйвер для видеокарты с пометкой «prime»
После его установки, запустить программу на нвидиа можно командой:

prime-run <приложение>

Тихо и без лишнего шума Nvidia запустила нативную поддержку Prime Render Offload для своих видеокарт, работающих в связке со встроенными видеокартами Intel на лэптопах. Это дает возможность владельцам лэптопов выводить графику через видеокарту Intel, а там, где это необходимо, через карту Nvidia. Также данная штука имеет более высокую производительность, по сравнению с полюбившимся многим Bumblebee.
Ниже инструкция о том, как настроить систему для ее использования. Сразу оговорюсь, что буду считать, что система только что установлена и вы не нуждаетесь в удалении предыдущих конфигураций Xorg, Bumblebee и прочего. Также статья является вольным переложением статьи из арчвики с некоторыми дополнениями, применимыми к Manjaro.
На данный момент с данным методом невозможно использовать второй монитор через HDMI, официальный ответ разрабов нвидиа тык, так что подумайте нужно это вам или нет.
1) Ставим драйвера с помощью стандартной утилиты манджаро по этой инструкции.
2) Удаляем конфиг, который создала утилита манджарки:
sudo rm /etc/X11/xorg.conf.d/90-mhwd.conf 

3) Создаем новый конфиг nvidia.conf
sudo nano /etc/X11/xorg.conf.d/nvidia.conf

nvidia.conf
Section "ServerLayout"
  Identifier     "Layout0"
    Option         "AllowNVIDIAGPUScreens"
    Screen      0  "iGPU" 0 0
EndSection
Section "Device"
    Identifier     "iGPU"
    Driver         "modesetting"
    BusID          "PCI:0:2:0" #Проверьте BusID
EndSection
Section "Device"
    Identifier     "dGPU"
    Driver         "nvidia"
    BusID          "PCI:1:0:0" #Проверьте BusID
EndSection
Section "Screen"
    Identifier     "iGPU"
    Device         "iGPU"
    DefaultDepth    24
    SubSection     "Display"
    Viewport    0 0
    EndSubSection
EndSection
Section "OutputClass"
    Identifier "iGPU"
    MatchDriver "i915"
    Driver "modesetting"
EndSection
Section "OutputClass"
    Identifier "dGPU"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "yes"
    ModulePath "/usr/lib/nvidia/xorg"
    ModulePath "/usr/lib/xorg/modules"
EndSection

Section "ServerFlags"
    Option         "IgnoreABI" "1"
EndSection


*самая нижняя секция рекомендуется при возникновении проблем при входе. Но на моей Nvidia GeForce 1060 проблема была, поэтому вставил на всякий случай. Если что, закомментируете.
4) Удаляем остатки конфигов, созданных утилитой mhwd (мы ей драйвер если что устанавливали)
ls /etc/modprobe.d/mhwd*

смотрим на вывод предыдущей команды и удаляем все, что связано с nvidia и gpu
Пример! файлов для удаления
sudo rm /etc/modprobe.d/mhwd-gpu.conf
sudo rm /etc/modprobe.d/mhwd-nvidia.conf

5) Перезагружаемся
6) Проверяем, что загрузились оба модуля видеокарт
xrandr --listproviders

должно быть примерно так:
Providers: number: 2
Provider 0: id: 0x29d cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x278 cap: 0x0 crtcs: 0 outputs: 0 associated providers: 0 name:NVIDIA-G0

7) Пример запуска Firefox на видеокарте Nvidia
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" firefox

В AUR репозитории также доступен пакет «prime», после установки которого громоздкое выражение можно сократить до простого
prime firefox

Ссылки по теме:

Арчвики
Официальная инструкция от Nvidia с примерами более тонкой настройки